# -*- coding:utf-8 -*—
#第一步：调用pandas包
import time

import pandas as pd
import os
from pandas import DataFrame


def sumExcel(excelPath, filedName,sumFieldName,sumFieldName2):
    # 第二步：读入文件
    df = pd.read_excel(io=excelPath)
    # 第三步：获取class列表并去重
    # class_list = list(df[filedName].drop_duplicates())
    class_list = list(df[filedName].unique())
    exportPath = os.path.split(os.path.abspath(excelPath))[0]
    filename = os.path.split(os.path.abspath(excelPath))[1]
    # 第四步：按照类别分文件存放数据
    resultlist=[]
    for i in class_list:
        result = {}
        iris1:DataFrame= df[df[filedName] == i]
        # outpath = exportPath + '%s.xlsx' % (i)
        # iris1.to_excel(outpath)
        result[filedName]=i
        # result[expName]=df[expName]
        # todo：求平均值
        result[sumFieldName]=iris1[sumFieldName].mean()
        result[sumFieldName2]=iris1[sumFieldName2].mean()
        for columnName in iris1.columns.values:
            if columnName!=filedName and columnName!=sumFieldName2 and columnName!=sumFieldName:
                if len(iris1[columnName].values)>0:
                    result[columnName]=iris1[columnName].values[0]
                else:
                    result[columnName] =''
        resultlist.append(result)
    print(resultlist)
    # 将字典列表转换为DataFrame
    pf = pd.DataFrame(list(resultlist))
    # 指定字段顺序
    # order = [filedName, sumFieldName,sumFieldName2]
    # pf = pf[order]
    pf.sort_values(by=filedName, inplace=True, ascending=False)
    now_time = time.strftime('%Y-%m-%d-%H-%M-%S', time.localtime())
    # outname = "./python统计结果" + now_time + ".xlsx"
    outname = "./python统计结果" + now_time + filename
    print(outname)
    outpath = exportPath + outname
    # outpath = exportPath + './python统计结果.xlsx'
    pf.to_excel(outpath)


if __name__ == '__main__':
    # todo：欧洲
    # path="F:/data/水电流域/2022.09.26预报数据对比/9月预报数据对比/欧洲长期预测成果/导出数据/十个流域求交.xlsx"

    # 北京师范大学
    # path="F:/data/水电流域/2022.09.26预报数据对比/9月预报数据对比/北京师范大学长期预测成果/导出数据/北京师范_流域求交.xlsx"

    # path="F:/data/水电流域/2022.09.26预报数据对比/10月份预测数据/北京师范大学推送的降雨预报结果/导出数据/北京师范大学10月.xlsx"
    # path="F:/data/水电流域/2022.09.26预报数据对比/9月预报数据对比/9月份去年同期/导出数据/同期9月份_十个流域.xlsx"
    # path="F:/data/水电流域/2022.09.26预报数据对比/10月份预测数据/10月份去年同期/导出数据/同期10月10个流域.xlsx"
    # path=r"F:\data\水电流域\2022.09.26预报数据对比\9月预报数据对比\水文气象课题预测成果\导出数据2\雅砻江求交.xlsx"
    # path=r"F:\data\水电流域\2022.09.26预报数据对比\10月份预测数据\水文气象\导出数据\水文10月.xlsx"
    # path=r"F:\data\水电流域\2022.09.26预报数据对比\9月预报数据对比\华风气象预测成果\导出数据2\华风9月相交2.xlsx"
    # path=r"F:\data\水电流域\2022.09.26预报数据对比\9月预报数据对比\水文气象课题预测成果\导出数据3\水文9月份和10大流域.xls"
    # path=r"F:\data\水电流域\2022.09.26预报数据对比\9月预报数据对比\网格数据降雨值\同期9月网格十个流域2.xls"
    # path=r"F:\data\水电流域\2022.09.26预报数据对比\8月实测数据\8月实测十个流域.xls"
    # path=r"F:\data\水电流域\2022.09.26预报数据对比\9月预报数据对比\9月份实测\9月实测_相交.xls"
    # path=r"F:\data\水电流域\2022.09.26预报数据对比\9月预报数据对比\9月份实测\导出数据2\9月数据3流域相交.xls"
    # path=r"F:\data\水电流域\2022.09.26预报数据对比\2022.10.09十月预测数据\十月预测值\十月流域预测值.xlsx"
    # path=r"F:\data\水电流域\2022.09.26预报数据对比\9月预报数据对比\欧洲长期预测成果\2022.10.18处理\十个流域相交.xls"
    # path=r"F:\data\水电流域\2022.09.26预报数据对比\距平降雨出图\precipitation_MV(1)(1)\12月份.xlsx"
    path=r"E:\data\网络下载数据\221007 行政区划、POI、道路等矢量数据\2020年中国行政村级区划代码及经纬度\市级-2020年村级及以上各级行政区区划代码及经纬度.xlsx"


    expName="省级"

    sumFieldName="lng_84"
    sumFieldName2="lat_84"

    # todo 对每列excel求和
    sumExcel(path,expName,sumFieldName,sumFieldName2)